解决宝塔linux面板redis占用内存过高方法 | 您所在的位置:网站首页 › 宝塔 内存占用 › 解决宝塔linux面板redis占用内存过高方法 |
一起来学习下redis性能配置问题:需要优化的问题如何解决redis持续运行导致服务器内存占用逐渐变大的问题: 经常很多朋友会发现宝塔linux面板redis内存过高,又不知道怎么解决,看教程轻松处理内存过高的方法 要解决这个问题,首先要了解redis info信息中几个数据的意义: used_memory:810575104 //数据占用了多少内存(字节) used_memory_human:773.02M //数据占用了多少内存(带单位的,可读性好) used_memory_rss:885465088 //redis占用了多少内存 used_memory_rss_human:844.45M //redis占用了多少内存(带单位的,可读性好) used_memory_peak:2001274696 //占用内存的峰值(字节) used_memory_peak_human:1.86G //占用内存的峰值(带单位的,可读性好) mem_fragmentation_ratio:1.09 //内存碎片率 里面需要注意的有: used_memory_human,代表redis数据数据占用内存的大小, used_memory_rss_human,代表服务器时下为redis分配的内存大小,也就是redis具体占用内存的大小 used_memory_peak_human,代表redis在使用期间最高占用了多少内存。 mem_fragmentation_ratio = used_memory_rss / used_memory mem_fragmentation_ratio,越低越高,趋向于1,大于1的部分redis碎片占用的大小。范围在1 - 1.5,大于1.5说明碎片过多,必须要清理了。 redis的碎片清理: redis4.0以前内存碎片过多的情况下只能关闭redis重启后才能生效。 redis4.0以后新增了配置项:activedefrag redis的配置项activedefrag默认为no,未开启,不会自动回收内存清理碎片, 当需要清理碎片的时候,使用命令 config set activedefrag yes 将activedefrag的配置设置为开启状态。则redis会自动清理碎片,回收内存。 宝塔面板如何配置:(需要将activedefrag yes前面的#注释掉重启即可) |
CopyRight 2018-2019 实验室设备网 版权所有 |